package com.itheima.singleinstance; // 声明这个类属于com.itheima.singleinstance包，用于组织代码结构

// 懒汉式单例类。 // 注释说明这个类使用了懒汉式单例设计模式
public class B { // 定义一个名为B的公开类
    // 2、私有化静态变量 // 第二步：创建静态变量，但不立即实例化
    private static B b; // 定义私有的静态成员变量b，初始值为null，暂不创建实例

    // 1、私有化构造器 // 第一步：私有化构造方法
    private B() { // 将构造方法设为私有的，这样外部就不能通过new来创建B类的实例
    }

    // 3、提供静态方法返回对象： 真正需要对象的时候才开始创建对象。 // 第三步：提供获取实例的静态方法
    public static B getInstance() { // 定义公开的静态方法getInstance()，用于获取B类的实例
        if (b == null) { // 检查实例是否已经创建（懒加载的核心）
            // 第一次拿对象时，会创建对象，给静态变量b记住。 // 注释说明第一次获取时才创建实例
            b = new B(); // 创建B类的实例并赋给静态变量b
        }
        return b; // 返回已创建的实例，确保始终返回同一个对象
    }
}
